主要資料表與功能:
Roles / Users
管理使用者角色(admin/student/instructor)與帳號資訊,密碼以 Hash 方式儲存。
Cohorts / Enrollments
管理班級期別及學員的選課關係,支援多對多關聯。
Sessions / SessionChanges
每一堂課的安排與異動紀錄,支援狀態(scheduled, changed, cancelled, done)。
Announcements / AnnouncementTargets
公告內容與投放範圍(全站 / 班級 / 單堂課)。
Notifications / ReadReceipts
通知發送與已讀追蹤。
Instructors / Rooms
講師與教室資料。
Attachments
公告與課程的附件管理(檔案上傳 / 連結)。
RecurringSessions / SessionOccurrences
重複課程規則與實際展開的課次。
Tags / EntityTags
公告與課程的標籤系統。
這樣的結構可以讓系統支援:
課程表生成
異動追蹤
精準通知
彈性擴充(未來加新功能不會大幅改動資料表)